#!/usr/bin/python

import sys, json, random, os

def translate(filename, target, tab):
	with open(filename, 'r') as f:
		content = f.read()
	for k, v in tab.items():
		content = content.replace('__' + k + '__', v)
	with open(target, 'w') as f:
		f.write(content)

cid = raw_input('uoj container id: ')
ip = raw_input('uoj ip: ')
name = raw_input('judger name: ')

os.system("docker cp " + cid + ":/home/local_main_judger/judge_client/.conf.json docker/judge_client/conf.json")

with open('docker/judge_client/conf.json', 'r') as f:
	conf = json.load(f)

conf['uoj_host'] = ip
conf['judger_name'] = name
conf['judger_password'] = ''.join(random.choice('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') for i in range(32))

with open('docker/judge_client/conf.json', 'w') as f:
	json.dump(conf, f, indent=4, separators=(',', ': '))
	print >>f

translate_table = {
	'svn_cert': '--username %s --password %s' % (conf['svn_username'], conf['svn_password']),
	'uoj_host': ip
}

translate('docker/judge_client/install', 'docker/judge_client/cur_install', translate_table)

print "please modify the database after getting the judger server ready:"
print "insert into judger_info (judger_name, password, ip) values ('%s', '%s', '__judger_ip_here__');" % (name, conf['judger_password'])
